<!DOCTYPE html>
<html lang="zh">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>练习</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        .outer {
            width: 400px;
            margin: 100px auto;
            text-align: center;
        }

        table {
            width: 400px;
            border-collapse: collapse;
            margin-bottom: 20px;
        }

        td,
        th {
            border: 1px black solid;
            padding: 10px 0;
        }

        form div {
            margin: 10px 0;
        }
    </style>
    <script>
        document.addEventListener("DOMContentLoaded", function () {
            /* 
                1.点击删除后，会删除当前行的员工信息

                本练习的中超链接，我们是不希望发生跳转，但是跳转行为是超链接的默认行为
                只要点击超链接就会触发页面的跳转，事件中我们可以通过取消默认行为来组织超链接跳转

                使用return false来取消默认行为，只在xxx.xxx=function(){}这种形式绑定的事件中才适用。在xxx.addEventListener()绑定的函数中使用并不会生效

            */
            function deltepople() {

                // 获取当前超链接所在的tr
                const tr = this.parentElement.parentElement
console.log(tr)
                const name = this.parentElement.parentElement.firstElementChild.innerText// const name=tr.getElementsByTagName("td")[0].textContent
                // 弹出提示框
                let flag = confirm(`确认删除【${name}】吗？`)
                // 删除tr
                flag && tr.remove()
            }

            const a = document.links
            for (let i = 0; i < a.length; i++) {
                a[i].style.textDecoration = "none"
                a[i].addEventListener("click", deltepople)

            }

            /* 
                2.输入用户的资料后，能添加在表格中

            */
           const  btn=document.getElementsByTagName("button")[0]
            btn.addEventListener("click",function(){
                // 获取用户输入的数据
            const name=document.getElementById("name").value
            const email=document.getElementById("email").value
            const salary=document.getElementById("salary").value
                // 将获取到的数据设置为DOM对象
            const tbody=document.getElementsByTagName("tbody")[0]
            
            
            // 这种写法容易被xss攻击

            /* 
            tbody.insertAdjacentHTML(
            "beforeend",
            `   
            <tr>
                <td>${name}</td>
                <td>${email}</td>
                <td>${salary}</td>
                <td>
                    <a href="javescript:;">删除</a>
                </td>
            </tr>
            `
            )
             */

            // 手动创建元素
            const tr=document.createElement("tr")
            const nameTd=document.createElement("td")
            const emailTd=document.createElement("td")
            const salaryTd=document.createElement("td")

            nameTd.textContent=name
            emailTd.textContent=email
            salaryTd.textContent=salary

            tr.insertAdjacentElement("beforeend",nameTd)
            tr.insertAdjacentElement("beforeend",emailTd)
            tr.insertAdjacentElement("beforeend",salaryTd)
            tr.insertAdjacentHTML("beforeend","<td><a href='javescript:;'>删除</a></td>")
            tbody.appendChild(tr)
            //由于上边的超链接是新添加的，所以它上边并没有绑定单击响应函数，所以新添加的无法删除
            // 解决方法 1.为新添加的超链接单独绑定响应函数
            
            a[a.length-1].onclick=deltepople  // 这里主要是因为document.links是一个实时更新的集合
            })
        })
    </script>
</head>

<body>
    <div class="outer">
        <table>
            <tbody>
                <tr>
                    <th>姓名</th>
                    <th>邮件</th>
                    <th>薪资</th>
                    <th>操作</th>
                </tr>
                <tr>
                    <td>孙悟空</td>
                    <td>WK.Sun@.com</td>
                    <td>10000</td>
                    <td><a href="javescript:;">删除</a></td>

                </tr>
                <tr>
                    <td>猪八戒</td>
                    <td>WN.Zhu@.com</td>
                    <td>8000</td>
                    <td><a href="javescript:;">删除</a></td>
                </tr>
                <tr>
                    <td>沙和尚</td>
                    <td>WJ.Sha@.com</td>
                    <td>6000</td>
                    <td><a href="javescript:;">删除</a></td>
                </tr>
            </tbody>
        </table>
        <form action="#">
            <div>
                <label for="name">姓名</label>
                <input type="text" id="name">
            </div>
            <div>
                <label for="name">邮件</label>
                <input type="text" id="email">
            </div>
            <div>
                <label for="name">薪资</label>
                <input type="text" id="salary">
            </div>
            <button type="button">添加</button>
        </form>
    </div>
</body>

</html>